A problem with conventional charge pumps associated with non-volatile memories is unstable voltage regulation because of fluctuating current demand. The fluctuation arises because current demanded from a charge pump used in non-volatile memories is proportional to the frequency at which data is read from the memory. More specifically, address changes cause charge to be drawn from the charge pump that must be replenished by clocking the pump.
Clocking of charge pumps is done at a frequency that can exhibit some variability due to process variables, temperature, voltage changes, but is generally uniform. This is illustrated in FIG. 1 where pump clock frequency is shown as a function of address transitions or address frequency. The charge pump is assumed to operate on both rising and falling edges of an input clock (double edge charge pump) although this assumption is not vital. The invention can also be used with single edge charge pumps. Note that while there can be variability in the pump clock frequency over the range 40 MHz to 50 MHz in the example, the pump clock frequency is flat with changes in the address frequency.
FIG. 2 illustrates a prior art charge pump clock 10 feeding a charge pump 16. The address bus 5 feeds address signals to row decoder 6 that addresses flash memory 20. The address bus also feeds the address transition detector 8 that produces an address clock, readclk, indicative of address transitions at a rate roughly twice the address transition frequency. A readclk signal is fed from detector 8 to multiplexer 24, a switch that is also fed by the internal reference oscillator 22. The output of multiplexer 24, a pumpclk signal, feeds charge pump 16. In turn, charge pump 16 generates an output voltage signal, VREAD, that is an input for row decoder 6. The output signal, VREAD, is also sent to a voltage detector 28. If VREAD is below a pre-defined voltage, a STOP signal on line 25 is transmitted to multiplexer 24 to temporarily set the output of the multiplexer to correspond to clock edges from the reference clock 22.
Cells of non-volatile memories, such as memory 20, are read by biasing gates with a read voltage and by detecting the current flowing through memory cells. If a cell is programmed, its threshold voltage should be higher than the read voltage, so that no current is drawn by the cell. If the cell is erased, its threshold voltage should be such as to let the current flow through. Detecting the current flow provides for discriminating between programmed and erased cells. To ensure correct read operation and reliable cycling, i.e. multiple cycles of operation of the memory array, certain limits should be observed in the distribution of the threshold voltages of the cells. More specifically, many circuit designs require that the threshold of the best erased cells be above zero, and the threshold voltage of the worst case erased cells be about 2.5V. The lower limit substantially arises from the need to prevent read errors caused by depleted cells, i.e. cells with a threshold voltage below zero. The upper limit is due to the intrinsic distribution of the cell threshold according to the fabrication technology used. Since the read voltage VREAD normally coincides with the supply voltage VCC, a supply voltage of over 3V poses no problem for some designs. A problem arises in the case of memories operating at low VCC. For instance, with a supply voltage VCC of 2.5 V, all the cells with a threshold voltage VTH close to this value conduct little or no current, so that the cell is considered programmed, thus resulting in a read error. A solution to this problem consists of boosting the read voltage, i.e. supplying the gate terminal of the cell to be read with a voltage higher than the VCC. With further reference to FIG. 2, the internally generated boosting is preferably done by a charge pump 16 clocked at the address transition frequency determined by address transition detector 8.
A non-volatile memory should guarantee the user correct reading of the data as long as the time elapsing between the supply of two successive addresses to the input of the memory is longer than, or equal to, the memory access time. In other words, the address transition frequency at the input of the memory is lower than, or equal to, the inverse of the memory access time, which is defined as the time elapsing between the instant at which an address is supplied in a stable way to the input of the memory and the instant at which the content of the address is available at the output of the memory.
To guarantee compliance with the specifications regarding reading times, most prior art charge pumps are sized in such a way as to be able to meet the maximum current requirement by the decoding circuitry to which they are connected as long as the addresses vary at a frequency lower than, or, at the most, equal to the inverse of the memory access time. This is done to guarantee that the read voltage VREAD remains constant over the value of VREF0 within the entire memory operation range.
However, the current required from the charge pump by the decoding circuitry is not constant but is proportional to the frequency at which the addresses at the input of the memory vary, and presents a pulse pattern with peaks at the transitions of the addresses.
A mean value of current <I> is expressed as follows:<I>˜fADD×CDEC×VREAD,  (1)that is, the mean value of current <I> is a function of the address transition frequency fADD, the read voltage VREAD, and the overall capacitance CDEC as “seen” by the row decoder. The mean value of current <I> is maximized when the row decoder “sees” the maximum capacitance.
The maximum voltage VMAX that the charge pump can theoretically supply when the current requirement is zero is:VMAX=(n+1)×VCC>VREF0,  (2)where n is the number of boosters forming the charge pump. The maximum current IMAX0 that may be supplied by the charge pump when its output voltage is equal to the supply voltage VCC is as follows:IMAX0=fCK×CP×VCC.  (3)
The frequency fCK of the clock signal CK, starting from which the phases of a charge pump are generated, is determined in such a way as to guarantee that the read voltage VREAD remains constant at the value VREF0 within the entire memory operation range, i.e., as long as the frequency of the addresses access fADD is lower than, or equal to, the inverse of the memory access time, and hence also when the decoding circuitry absorbs the maximum current:fADDRESS—TRANSITION≦1/TMEMORY—ACCESS.  (4)
Most flash non-volatile memories currently available on the market have a memory access time TMEMORY—ACCESS≈100 nS. Thus, the maximum allowable address transition frequency fADDRESS—TRANSITION≈10 MHz, and the clock signal CK from which the phases of the charge pump are generated has a frequency such as to guarantee, with a fair margin, that the read voltage VREAD will remain constant at the value VREF0 referred to above within the entire memory operation range.
U.S. Pat. No. 6,560,145 relates to the problem of where the address transition frequency exceeds the maximum frequency acceptable to an associated non-volatile memory. Where address transitions occur at much higher frequencies than the maximum allowable, the read voltage supplied by the charge pump will be inadequate, i.e. below an established failure voltage, VFAIL. During a VFAIL condition a number of memory accesses is halted. The approach taken in the '145 patent is to monitor the phase difference between the charge pump clock and address transitions, then correct accordingly whenever the read voltage drops below a pre-set threshold voltage. This guarantees that the read voltage does not drop below VFAIL.
An object of the invention is to devise a charge pump clock that is stable with respect to frequency and voltage, yet allows for increased address transition frequencies with dynamic response as the transitions exceed a predetermined frequency.